package org.jeecg.modules.relation.relclssubtearoom.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.config.mybatis.TenantContext;
import org.jeecg.modules.common.utils.DateUtil;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: rel_class_subject_teacher
 * @author: baochangrong
 * @Date:   2022-02-16
 * @Version: V1.0
 */
@Data
@TableName("rel_class_subject_teacher")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="rel_class_subject_teacher对象", description="rel_class_subject_teacher")
public class RelClassSubjectTeacher implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private String id;
	/**班级id*/
	@Excel(name = "班级id", width = 15)
    @ApiModelProperty(value = "班级id")
    @Dict(dictTable = "cou_class",dicText = "class_name",dicCode = "id")
    private String classId;
	/**科目id*/
	@Excel(name = "科目id", width = 15)
    @ApiModelProperty(value = "科目id")
    @Dict(dictTable = "cou_subject",dicText = "subject_name",dicCode = "id")
    private String subjectId;
	/**任课教师id*/
	@Excel(name = "任课教师id", width = 15)
    @ApiModelProperty(value = "任课教师id")
    @Dict(dictTable = "tea_teacher",dicText = "teacher_name",dicCode = "id")
    private String teacherId;
	/**教室场地id，允许空*/
	@Excel(name = "教室场地id，允许空", width = 15)
    @ApiModelProperty(value = "教室场地id，允许空")
    @Dict(dictTable = "fac_classroom",dicText = "building_id",dicCode = "id")
    private String classroomId;
	/**学校id*/
	@Excel(name = "学校id", width = 15)
    @ApiModelProperty(value = "学校id")
    private String tenantId= TenantContext.getTenant();

    // 学年
    @Excel(name = "学年ID", width = 15)
    @ApiModelProperty(value = "学年ID")
    @Dict(dictTable = "cou_school_year",dicText = "school_year_name",dicCode = "id")
    private String schoolYearId;
    // 学期
    @Excel(name = "学期ID", width = 15)
    @ApiModelProperty(value = "学期ID")
    @Dict(dictTable = "cou_semester",dicText = "semester_name",dicCode = "id")
    private String semesterId;
    //班级名称
    @Excel(name = "班级名称", width = 15)
    @ApiModelProperty(value = "班级名称")
    private String className;

	/**是否有效*/
	@Excel(name = "是否有效", width = 15)
    @ApiModelProperty(value = "是否有效")
    private Integer classSubjectStatus=1;

    /**createTime*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "createTime")
    private Date createTime= DateUtil.getCurrentDate();

    //@Transient //不是表的字段 不能被序列化
    @TableField(exist = false)  //不是表字段，不参与查询sql
    private String gradeId;//年级

    //@Transient //不是表的字段 不能被序列化
    @TableField(exist = false)  //不是表字段，不参与查询sql
    private String buildingId;//年级

    //@Transient //不是表的字段 不能被序列化
    @TableField(exist = false)  //不是表字段，不参与查询sql
    private String teacherIdOld;          //": "1011497147521436917761"
    //@Transient //不是表的字段 不能被序列化
    @TableField(exist = false)  //不是表字段，不参与查询sql
    private String classroomIdOld;

    //@Transient //不是表的字段 不能被序列化
    @TableField(exist = false)  //不是表字段，不参与查询sql
    private String teacherName;          //": "lc周莉莉",
    //@Transient //不是表的字段 不能被序列化
    @TableField(exist = false)  //不是表字段，不参与查询sql
    private String classroomName;          //": "lc七年级（2）班教室",
}
